package ui;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import service.ITestService;

/**
 * 模拟客户端
 * 在学习aop之前我们需要先了解一些概念
 * AOP相关的几个基础概念
 * Joinpoint(连接点):
 *      是指那些被拦截到的点，比如说方法的调用，成员属性的访问甚至异常的处理；
 * Pointcut(切入点):
 *      所谓切入点是指我们要对哪些 Joinpoint 进行拦截的定义。
 * Advice(通知):
 *      所谓通知是指拦截到 Joinpoint 之后所要做的事情就是通知。
 * Weaving(织入)：
 *      是指把增强应用到目标对象来创建新的代理对象的过程. AspectJ 采用编译期织入和类装在期织入 。
 * Aspect(切面)：
 *      是切入点和通知的结合 。
 */
public class TestClient {
    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
        ITestService testService = context.getBean("testService", ITestService.class);
        testService.testSave();
    }
}
